package com.sky.service;

import com.sky.dto.DishDTO;
import com.sky.entity.Dish;
import com.sky.result.PageResult;
import com.sky.vo.DishVO;

import java.util.List;

/**
 * @author iTaotao
 * @date 2023/7/28 13:02
 * @desciption: 菜品接口
 */
public interface DishService {
    /**
     * 选择页面
     *
     * @param categoryId 类别id
     * @param name       名字
     * @param page       页面
     * @param pageSize   页面大小
     * @param status     状态
     * @return {@link PageResult}
     */
    PageResult selectPage(Long categoryId, String name, Integer page, Integer pageSize, Integer status);

    /**
     * 创建菜
     *
     * @param dish 菜
     */
    void createDish(DishDTO dishDTO);

    /**
     * 删除盘通过id
     *
     * @param ids id
     */
    void removeDishById(List<Long> ids);

    DishVO queryDishById(Long id);

    /**
     * 更新菜通过id
     *
     * @param dishDTO 菜dto
     */
    void updateDishById(DishDTO dishDTO);

    /**
     * 更新状态通过id
     *
     * @param status 状态
     * @param id     id
     */
    void updateStatusById(Integer status, Long id);


    /**
     * 选择列表
     *
     * @param categoryId 类别id
     * @return {@link List}<{@link Dish}>
     */
    List<Dish> selectList(Long categoryId);
}
